package bb.lanxing.model.routebook

import bb.lanxing.model.database.User
import bb.lanxing.util.BundleWrapper
import com.google.gson.annotations.Expose
import com.google.gson.annotations.SerializedName
import java.io.Serializable

data class RouteBook(
    var avg_altitude: Double = 0.0,
    var avg_cadence: String? = null,
    var avg_grade: Double = 0.0,

    @Expose(deserialize = false, serialize = true) var bundleWrapper: BundleWrapper? = null,
    var ca_tdf: Int? = null,
    var city: String? = null,
    var climbs_count: Int = 0,

    @SerializedName("is_collect") var collect: Boolean? = null,
    var collect_num: String? = null,
    var comment_num: Int? = null,
    var condition: Int? = null,
    var count: Long? = null,
    var create_time: String? = null,
    var desc: String? = null,
    var dirctionString: String? = null,
    @JvmField var distance: Double = 0.0,
    var download_number: Int = 0,
    var download_time: Int? = null,
    var downloaded_path: String? = null,

    @SerializedName("is_draft") var draft: Boolean = false,
    var elevation_gain: Double = 0.0,
    var elevation_loss: Double = 0.0,
    var end_lat: Double? = null,
    var end_lng: Double? = null,
    var file_name: String? = null,
    var file_url: String? = null,

    @SerializedName("ignoreId") var id: Long = 0,
    var image: String? = null,
    var imageUrl: String? = null,
    var isSelectedForNav: Boolean? = null,
    var isTemp: Boolean? = null,
    var lat: Double? = null,
    var lng: Double? = null,
    var max_altitude: Double = 0.0,
    var max_cadence: String? = null,
    var max_grade: Double = 0.0,
    var min_altitude: Double = 0.0,
    var min_cadence: String? = null,
    var min_grade: Double = 0.0,
    var modify_time: String? = null,
    var nav_file: String? = null,

    @SerializedName("is_need_update") var need_update: Boolean = false,
    var save_timestamp: Long = 0,
    var search_type: Int? = null,

    @SerializedName("is_segment") var segment: Boolean = false,

    // @SerializedName("id")
    var serverId: Long = 0,
    var serverType: Int? = null,
    var similarity_num: Int? = null,
    var slope_thumbnail_url: String? = null,
    var sport: Int? = null,
    var sport_type: Int = 0,
    var status: Int? = null,
    var threed_lushu: String? = null,
    var thumbnail: String? = null,
    var thumbnail_url: String? = null,
    var title: String? = null,
    var total_count: Int? = null,
    var type: Int = 0,
    var user: User? = null,
    var user_id: Long = 0,
    var user_name: String? = null,
    var user_pic: String? = null,
    var uuid: String? = null,
    var waypoints: String? = null
) : Serializable
